home *** CD-ROM | disk | FTP | other *** search
- /* file -- dvenv.h
- |======================================================================
- |
- | (c) copyright 1988
- | V.I. Corporation
- |
- | dvenv - includes that are operating system specific, and which
- | define the attributes of the OS and the hardware.
- | This file should be the only include file that is
- | different from machine to machine.
- |
- | Alan C Morse 23 May 89
- |
- |=====================================================================
- */
- #ifndef _DVENV_H_
- #define _DVENV_H_
-
- /* ------------------------------------------------------------ */
- /* Machine / OS definitions.
- Defines which system the code is being compiled on. Each define
- should have a different value, and all inappropriate ones
- should be commented out.
- Ideally, these should not be directly refered to, but should be
- used to define attributes that describe the os, not which OS it is.
- */
- /* MANUFACTURER */
- /* #define APOLLO */
- /* #define DECSTATION */
- /* #define HP300 */
- /* #define HP400T */
- /* #define HP700 */
- /* #define HP800 */
- /* #define INTEL386 */
- #define INTEL486
- /* #define MASSCOMP */
- /* #define MITSUBISHI */ /* ME400 */
- /* #define NEC */
- /* #define OKIDATA860 */
- /* #define RS6000 */
- /* #define SONY */
- /* #define SUN3 */
- /* #define SUN4 */
- /* #define SUN386i */
- /* #define TEK88 */
- /* #define VAXSTATION */
- /* #define DG300 */
- /* #define CETIA */
- /* #define SG_ECLIPSE */
- /* #define SEQUENT */
-
-
- #ifdef INTEL486
- #ifndef __STDC__
- #define __STDC__ 1
- #endif
- #endif
- /* OS NAME/VERSION = 100 * NameDef + VersionDef*/
- /* #define AEGIS 100 */
- /* #define AEGIS_9_7 (AEGIS+1) */
- /* #define AEGIS_10 (AEGIS+2) */
-
- /* #ifdef AIX */
- /* #undef AIX */
- /* #endif */
- /* #define AIX 200 */
- /* #define AIX_1_1 (AIX+1) */
- /* #define AIX_3 (AIX+3) */
-
- /* #define AUX 300 */
-
- /* #define BSD 400 */
- /* #define BSD_4_1 (BSD+1) */
- /* #define BSD_4_2 (BSD+2) */
- /* #define BSD_4_3 (BSD+3) */
-
- /* #define HPUX 500 */
- /* #define HPUX_6_2 (HPUX+1) */
- /* #define HPUX_6_5 (HPUX+2) */
- /* #define HPUX_7 (HPUX+3) */
- /* #define HPUX_8 (HPUX+4) */
-
- /* Interactive Systems Corporation Unix for 386/486 machines */
- /* #define ISC_UNIX 600 */
- /* #define ISC_UNIX_2_0_1 (ISC_UNIX+1) */
-
- /* #define RTU 700 */
- /* #define RTU_3_1 (RTU+1) */
- /* #define RTU_4_0 (RTU+2) */
- /* #define RTU_4_0A (RTU+3) */
- /* #define RTU_6_0 (RTU+6) */ /* masscomp ver 6.0 op sys */
-
- /* #ifndef SUNOS */
- /* #define SUNOS 800 */
- /* #endif */
- /* #define SUNOS_3_5 (SUNOS+1) */
- /* #define SUNOS_4_0 (SUNOS+2) */
- /* #define SUNOS_4_0_1 (SUNOS+3) */
- /* #define SUNOS_4_0_3 (SUNOS+4) */
- /* #define SUNOS_4_1 (SUNOS+5) */
-
- /* #ifndef SYSV */
- /* #define SYSV 900 */
- /* #endif */
- /* #define SYSV_2 (SYSV+1) */
- /* #define SYSV_3 (SYSV+2) */
- /* #define SYSV_4 (SYSV+3) */
-
- /* #define ULTRIX 1000 */
-
- /* #define UTEKV 1100 */
- /* #define UTEKV_3_2A (UTEKV+1) */
-
- /* #define VMS 1200 */
- /* #define VMS_4_6 (VMS+1) */
- /* #define VMS_5_0 (VMS+2) */
- /* #define VMS_5_1 (VMS+3) */
-
- /* Santa Cruz Operation (SCO) Unix for 386/486 machines */
- /* #define SCO_UNIX 1300 */
-
-
- /* windows NT 3.1 */
- #define WINNT 1400
-
- /* ------------------------------------------------------------ */
- /* CPU type */
- /* #define M68K */ /* Motorola 68000 class CISC CPU */
- /* #define M88K */ /* Motorola 88000 class RISC CPU */
- /* #define SPARC */ /* Sun SPARC RISC CPU */
- #define I80386 /* Intel 80386 CISC CPU */
- /* #define I860 */ /* i860 processor */
- /* #define MIPS_RISC */ /* MIPS RISC CPU (DECstation 3100) */
- /* #define IBM_RISC */ /* RISC cpu used in rs/6000 */
- /* #define PA_RISC */ /* hp's precision architecture risc chip */
-
- /* ------------------------------------------------------------ */
- /* ENVIRONMENT ATTRIBUTES */
- /* ------------------------------------------------------------ */
-
- /* ------------------------------------------------------------ */
- /* BYTE ORDER FLAG
- One of the two following parameters should be defined, indicating
- in which order bytes are stored in a long.
- */
- #define BYTE_ORDER_4321
- /* #define BYTE_ORDER_1234 */
-
- /* ------------------------------------------------------------ */
- /* Compiler Supports cdecl keyword???
- For compilers that support the keyword "cdecl", _CDECL
- should be defined to cdecl. Otherwise, _CDECL should
- be defined to nothing. That is, one of the two following
- defines should be uncommented.
- */
- #ifndef _CDECL
- /* #define _CDECL cdecl */
- #define _CDECL
- #endif /* _CDECL */
-
- /* ------------------------------------------------------------ */
- /* Compiler Supports function prototypes ????
- If the compiler supports function prototypes, then LINT_ARGS
- should be defined. Otherwise comment out the define.
- */
- /* #define LINT_ARGS */
-
- /* ------------------------------------------------------------ */
- /* Compiler has memory models supporting memory models???
- The keywords "near" and "far" are defined out of existance for
- compilers that don't need memory models.
- If the system has NO near and far pointers, the following define
- should be commented out.
- */
- /* #define MEMORY_MODEL */
-
- /* ------------------------------------------------------------ */
- /* Is upper/lower case significant to the file system???
- If there is NO distinction between upper and lower case, the following
- define should be commented out.
- */
- #define FS_CASE_SIG 1
-
- /* ------------------------------------------------------------ */
- /* DataViews version number
- Multiplied by 100.
- */
- #define DVVERSION 970
-
- /* ------------------------------------------------------------ */
- /* should we use DataViews 8.0 compatability defines
- */
- #define V_8TO9_COMPATIBILITY
-
- /* ------------------------------------------------------------ */
- /* Does the system have a bsearch function?
- If it does, comment out the following define.
- */
- #define NO_BSEARCH
-
- /* ------------------------------------------------------------ */
- /* Does this system have a log2 functions?
- If it does, comment out the following define.
- */
- #define NO_LOG2
-
- /* ------------------------------------------------------------ */
- /* Does the system have a gmtime function?
- If it does, comment out the following define.
- */
- #define NO_GMTIME
-
- /* ------------------------------------------------------------ */
- /* Does the system have an ilogb function?
- If it does, comment out the following define.
- */
- #define NO_ILOGB_FUNC
-
- /* ------------------------------------------------------------ */
- /* Does the system have an isnam function?
- If it does, comment out the following define.
- */
- #define NO_ISNAN_FUNC
-
- /* ------------------------------------------------------------ */
- /* Does the system have an isinf function?
- If it does, comment out the following define.
- */
- #define NO_ISINF_FUNC
-
- /* ------------------------------------------------------------ */
- /* Does the system have a finite function?
- If it does, comment out the following define.
- */
- #define NO_FINITE_FUNC
-
- /* ------------------------------------------------------------ */
- /* Does the system have a zero function?
- If it does, comment out the following define.
- */
- #define NO_ISZERO_FUNC
-
- /* ------------------------------------------------------------ */
- /* Does the system have an aint function?
- If it does, comment out the following define.
- */
- #define NO_AINT_FUNC
-
- /* ------------------------------------------------------------ */
- /* Does the system have a signbit function?
- If it does, comment out the following define.
- */
- #define NO_SIGNBIT_FUNC
-
- /* ------------------------------------------------------------ */
- /* Does the system have the include file dirent.h
- for defining the structure for a directory and its entries.
- If it does, uncomment the following define.
- */
- /* #define HAS_DIRENT_H */
-
- /* ------------------------------------------------------------ */
- /* Does the system have a select function
- If it does, uncomment the following define.
- */
- /* #define HAS_SELECT_FUNC */
-
- /* ------------------------------------------------------------ */
- /* Does the system have a microsleep (usleep) function
- If it does, uncomment the following define.
- */
- /* #define HAS_USLEEP_FUNC */
-
- /* ------------------------------------------------------------ */
- /* Does the system have the random # generator random()
- If it does, uncomment the following define.
- */
- /* #define HAS_RANDOM_FUN */
-
- /* ----------------------------------------------------------- */
- /* Does the system use the variable etext to record the end
- of the code segment? If it does, uncomment the following define.
- */
- /* #define HAS_ETEXT */
-
- /* ----------------------------------------------------------- */
- /* Does the system have 16 bit integers.
- If it does, uncomment the following define.
- */
- /* #define INT_IS_16_BITS */
-
- /* ----------------------------------------------------------- */
- /* Does the system have stdlib.h (declaring getenv, etc.)
- If it does, uncomment the following define.
- */
- #define HAS_STDLIB
-
- /* ------------------------------------------------------------*/
- /* Does the system have string.h or strings.h? Uncomment
- the appropriate define
- */
- #define HAS_STRING_H
- /* #define HAS_STRINGS_H */
-
- /* ------------------------------------------------------------ */
- /* Compiler rounds down or towards zero???
- If the compiler generates code that rounds down (as opposed to
- towards zero) when doing integer division, then ROUND_DOWN should
- be defined. If the compiler generates code that rounds towards zero,
- then the define should be commented out.
- (Note that this makes a difference only for negative numbers.)
- */
- /* #define ROUND_DOWN */
-
- /* ------------------------------------------------------------ */
- /* If using Interactive, use int for the last parameter of the
- S_OPEN
- */
- /* #define OPEN_MODE_T mode_t */
- /* #define OPEN_MODE_T int */
-
- /* ------------------------------------------------------------ */
- /* Are you using the generic MIT version of X11?? */
- /* #define X11MIT */
-
- /* ------------------------------------------------------------ */
- /* If using the X Window System Version 11, */
- /* what is the X11 Release number?? */
- /* #define X11RELEASE 4 */
-
- /* ------------------------------------------------------------ */
- /* If using the X Intrinsics, */
- /* what is the Xt Release number?? */
- /* #define XTVERSION X11RELEASE */
-
- /* ------------------------------------------------------------ */
- /* Is an X widget set supported?? */
- /* If an X widget set is supported on this machine, */
- /* uncomment the appropriate line */
-
- /* #define HAS_MOTIF */
- /* #define HAS_OPENLOOK */
-
- /* MOTIFVERSION = Motif Version * 110 */
- #ifdef HAS_MOTIF
- # define MOTIFVERSION 110 /* Motif Version 1.1 */
- #endif
-
- /* default X-Designer version for validate.x */
- /* #define DEFAULT_XDESIGNER_VERSION 3.2 */
-
- /*==============================================================*/
- /* DATABASE configuration definitions. */
- /* ------------------------------------------------------------ */
- /* Is SYBASE supported on this platform? */
- /* #define HAS_SYBASE */
-
- /*==============================================================*/
- /* Internationalization. Foreign language support. */
- /* ------------------------------------------------------------ */
- /* Uncomment the following definition if we should use the */
- /* VIctype functions instead of the system macros. This cover */
- /* the macros like isalpha, isprint, isdigit. In the V.I. */
- /* source, these macros are written S_ISALPHA, S_ISPRINT, */
- /* S_ISDIGIT, etc. They are defined in dvctype.h to be the */
- /* system version of the macros OR VI's versions: VIisprint */
- /* VIisalpha, VIisdigit, etc. The reason for using VI's */
- /* versions would be if the system versions are NOT properly */
- /* internationalized. (This happens to be true for VMS 5.4.3 */
- /* where isprint does not give the correct result for European */
- /* characters where the high bit is set.) */
-
- /* #define USE_VI_CTYPES */
-
- /* ------------------------------------------------------------ */
- /* Uncomment the appropriate country/language definition. */
-
- #define LANG_USA
- /* #define LANG_JAPAN */
-
- /*--------------------------------------------------------------
- | Explanations:
- | MULTIBYTE_CHARS means that the character set
- | includes multibyte characters.
- | HAS_NLS means that the system supports HP's NLS
- | (Native Language support). refers also
- | to a class of support routines. Contrast with
- | NLS below, which refers to a character set type.
- |
- | Multibyte character Input Codes
- | SJIS is Shift-JIS, another japanese kanji standard.
- | EUC is "Extended Unix Code" and multi-byte input code.
- | NLS is HP's Native Language support.
- |
- | Multibyte character Output Codes
- | JIS is a japanese kanji standard.
- */
-
- #ifdef LANG_USA
- # define USASCII
- #endif
-
- #ifdef LANG_JAPAN
- # define MULTIBYTE_CHARS
- # define JIS
- /*# define NLS*/
- # define EUC
- /*# define SJIS*/
- #endif
-
- #ifdef NLS
- # define HAS_NLS
- #endif
-
- /*============= End Internationalization =======================*/
- /*==============================================================*/
-
- /*============= Sun Shared Library support =====================*/
- #if defined(SUN3) || defined(SUN4) || defined(SUN386i)
- # define SUN_SHLIB
- #endif
-
- /*============= End Sun Shared Library support =================*/
-
- /*=============== HP Starbase support ==========================*/
-
- /* ----------------------------------------------------------- */
- /* If you want to run starbase under X on an HP system,
- uncomment the following define.
- */
- /* #define HP_STARBASE_IN_X */
-
- /*=============== End HP Starbase support ======================*/
-
- #endif /* DVENV_H */
-